Microsoft Access: Связи между таблицами.

 

Цель: знакомство с понятием нормализации базы данных. Связи между таблицами.

Программное обеспечение: Microsoft Access 2007 либо новее

На этом занятии Вы улучшите созданную на предыдущем занятии базу данных, создав для этого дополнительные таблицы и установив между ними связи.

Задание 1. Создание таблицы «Дисциплины».

1. В Вашей таблице «Расписание» одни и те же дисциплины повторяются несколько раз. Было бы очень хорошо перечислить все дисциплины в отдельной таблице.

2. Создайте таблицу «Дисциплины» с помощью конструктора:

 

 

3. Запишите в таблицу дисциплины, которые встречались в таблице «Расписание»:

 

 

на картинке приведен ненастоящий пример – у Вас должны быть именно те дисциплины, которые есть в расписании!)

Обратите внимание, что каждой дисциплине ставится в соответствие свой уникальный код.

4. Закройте все открытые объекты Access:

 

 

5. Мы будем изменять структуру таблицы «Расписание», и в ходе этого процесса информация из нее будет теряться. Поэтому сделаем себе копию, чтобы можно было «подсмотреть» старое содержание. Нажав правой кнопкой мыши по объектутаблице «Расписание», выберите команду «Копировать»:

 

 

6. Щелкнув правой кнопкой в той же области, выберите «Вставить»

 

 

7. В появившемся окне измените название таблицы на «Расписание_старое» и выберите режим «Структура и данные»:

 

 

8. Откройте таблицу «Расписание» (обратите внимание: не таблицу

«Расписание_старое», именно «Расписание»!) в режиме конструктора:

 

 

9. Измените тип данных поля «Название_дисциплины» на «Мастер подстановки». Укажите, что значения поля требуется получать из другой таблицы:

 

 

10. Нажмите «Далее». Список дисциплин требуется получать из таблицы «Дисциплины». Выберите ее из списка:

 

 

Нажмите «Далее».

11. Перенесите все поля из списка доступных в список отображаемых с помощью кнопки «>>»:

 

 

Нажмите «Далее».

12. Выберите сортировку по названию дисциплины:

 

 

Нажмите «Далее».

13. Укажите опцию «Скрыть ключевой столбец», увеличьте ширину имеющегося столбца:

 

 

Нажмите «Далее».

14. Теперь можем переименовать поле в «Дисциплина». Нажмите «Готово» и сохраните таблицу. При ээтом Вы получите предупреждение о потере информации (поскольку старые текстовые записи не могут помещаться в числовом поле):

 

 

15. Мы должны согласиться с требованием.

16. Если все сделано верно, то столбец «Дисциплина» в таблице «Расписание» опустел, зато теперь нужно не вводить текст целиком, а только выбирать нужный пункт из выпадающего списка:

 

 

17. Заполните пустующие «ячейки», выбрав нужные дисциплины из выпадающего списка. Если Вы не помните, какая именно дисциплина была в конкретной строке, Вы можете «подсмотреть» в таблице «Расписание_старое».

18. Если теперь потребуется добавить в расписание дисциплину, которой нет в выпадающем списке, сначала нужно добавить ее в таблицу «Дисциплины»! Затем сохранить все изменения, закрыть таблицу «Дисциплины». Новая дисциплина появится в выпадающем списке.

Задание 2. Создание таблицы «Виды_занятий»

1. Создайте в режиме конструктора таблицу «Виды_занятий»:

 

 

2. Заполните таблицу следующими данными:

 

 

3. Закройте все объекты Access:

 

 

4. Откройте таблицу «Расписание» в режиме конструктора. Измените тип поля

«Вид занятия» на «Мастер подстановки» 5. Следуйте следующим шагам:

 

 

 

 

Чтобы перенести в список выбранных полей только первое и третье, воспользуйтесь кнопкой «>» - переносит только одно поле.

 

 

 

 

 

 

 

 

Нажмите «Да»:

 

 

И еще раз «Да»:

 

 

6. Перейдите в режим редактирования таблицы и заполните содержание поля

«Вид_занятия» для всего расписания.

Задание 3. Создание таблицы «Преподаватели»

1. Закройте все открытые объекты Access.

2. Создайте талицу «Преподаватели» в режиме конструктора:

 

 

3. Сохраните таблицу, перейдите в режим редактирования таблицы. Заполните таблицу сведениями о преподавателях:

 

 

4. Закройте все открытые объекты Access.

5. Откройте таблицу «Расписание» в режиме конструктора. Измените тип поля «Преподаватель» на «Мастер подстановки». Следуйте шагам:

 

 

 

 

 

 

 

 

 

 

 

 

6. Сохраните таблицу, перейдите в режим редактирования таблицы. Заполните пустые «клетки» в расписании, выбирая преподавателей из выпадающего списка:

 

 

Итоговую базу данных прикрепите как ответ на задание.

На следующем занятии решим новые задачи:

1) должность относится не к таблице «Расписание», а к таблице «Преподаватель»

2) время начала и время окончания занятия однозначно определяются такой величиной, как номер занятия по порядку.

3) и другие.